It is increasingly common for digital resources to be made available to consumers, customers, or users via network connections, e.g., via the Internet or via large-scale intranets. Such digital resources may take many forms, including web sites, on-line databases, web services, digital streaming sites, etc.
In many cases, such digital resources may be provided over a network in response to a request made of the computing system that manages the digital resources. For example, a computing system that provides content to remote users may, in response to an HTTP request received from a remote computer, respond by providing a copy of a webpage to the remote computer. In another example, a computing system that provides on-line database access may provide a recordset to a remote computer responsive to an access request from a remote computer coupled with a structured query language (SQL) query from the remote computer. In yet another example, a computing system may provide storage resources to remote clients and may provide access to files stored on the storage resources in response to an access request received from a remote client.
The ways in which computing systems may be used to provide resources responsive to requests received over a network connection are many and varied, but such systems do share some common traits. First, such systems commonly “listen” for requests that are directed towards a designated network address or addresses, parse the requests into one or more system inputs, and, based on the system inputs, provide (or not provide) a response to the requesting entity.
Second, such systems are often subjected to constant attack by entities with malicious intent. Computing system operators must constantly guard against such malicious entities by addressing newly-discovered vulnerabilities.